---@class GT.ui.control.chat : GT.ui
---@field u table<RoleID,GT.ui.control.chat> 玩家独立数据驱动
---@field binding GT.ui.control.chat
GT.ui.control.chat = class(GT.ui, false)


function GT.ui.control.chat :ctor()
    data.class=GT.ui.control.chat
    if data.uid ~= nil then
        super(self, data)
    else
        data.u_type = GT.ui.type.chat
        --创建控件
        super(self, data)
    end
end

--- 设置当前聊天框控件
---@param comp_uid Str 聊天框id
function GT.ui.control.chat :set_cur_chatbox()
    game_api.set_cur_chatbox(self.player.player ,self.uid)

end


--- 设置聊天控件的频道为同盟或者所有人
---@param is_ally Bool 是否为同盟
function GT.ui.control.chat:set_ui_comp_chat_channel(is_ally)
    game_api.set_ui_comp_chat_channel(self.player.player ,self.uid,is_ally)

end


--- 显示/不显示玩家聊天
---@param chat_role Role 玩家
---@param is_show Bool 开关
function GT.ui.control.chat:set_player_chat_show(chat_role,is_show)
    game_api.set_player_chat_show(self.player.player ,self.uid,chat_role,is_show)
end

--- 清理聊天
function GT.ui.control.chat:clear_player_chat_panel()
    game_api.clear_player_chat_panel(self.player.player ,self.uid)
end

--- 发送聊天给玩家
---@param target_role Role 玩家
---@param context Str 内容
function GT.ui.control.chat:send_chat_to_role(target_role,context)
    game_api.send_chat_to_role(self.player.player ,self.uid,target_role,context)
end